package com.flyco.modules.oms.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.flyco.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 京东到家对账单
 * @Author: flyco
 * @Date:   2021-11-01
 * @Version: V1.0
 */
@Data
@TableName("oms_jddj_balance_bill")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="oms_jddj_balance_bill对象", description="京东到家对账单")
public class OmsJddjBalanceBill {
	/**对账单id*/
	@TableId(type = IdType.INPUT)
    @ApiModelProperty(value = "对账单id")
	private Long id;
	@ApiModelProperty(value = "jddj_order表id，也是oms_order表的id")
	private String jddjOrderId;
	/**商家编号*/
	/*@Excel(name = "商家编号", width = 15)*/
    @ApiModelProperty(value = "商家编号")
	private Long orgCode;
	/**商家名称*/
	/*@Excel(name = "商家名称", width = 15)*/
    @ApiModelProperty(value = "商家名称")
	private String orgName;
	/**门店ID*/
	/*@Excel(name = "门店ID", width = 15)*/
    @ApiModelProperty(value = "门店ID")
	private Long stationId;
	/**门店名称*/
	/*@Excel(name = "门店名称", width = 15)*/
    @ApiModelProperty(value = "门店名称")
	private String stationName;
	/**下单时间*/
	/*@Excel(name = "下单时间", width = 15)*/
    @ApiModelProperty(value = "下单时间")
	private Long businessStartTime;
	/**完成时间*/
	/*@Excel(name = "完成时间", width = 15)*/
    @ApiModelProperty(value = "完成时间")
	private Long businessFinishTime;
	/**京东到家订单id*/
	/*@Excel(name = "京东到家订单id", width = 15)*/
    @ApiModelProperty(value = "京东到家订单id")
	private Long orderId;
	/**暂时全部认定为已完成*/
	/*@Excel(name = "暂时全部认定为已完成", width = 15)*/
    @ApiModelProperty(value = "暂时全部认定为已完成")
	private Integer orderStatus;
	/**应付货款（单位：元）*/
	@Excel(name = "应付货款（元）", width = 15)
    @ApiModelProperty(value = "应付货款（单位：元）")
	private BigDecimal goodsBill;
	/**应付金额（单位：元）*/
	@Excel(name = "应付金额（元）", width = 15)
    @ApiModelProperty(value = "应付金额（单位：元）")
	private BigDecimal dueAmount;
	/**结算状态:待打款(20002)、结算成功(20003)、结算失败(20004,20011)、驳回(20005)、打款失败(20009)、冻结中(20014)*/
	/*@Excel(name = "结算状态:待打款(20002)、结算成功(20003)、结算失败(20004,20011)、驳回(20005)、打款失败(20009)、冻结中(20014)", width = 15)*/
    @ApiModelProperty(value = "结算状态:待打款(20002)、结算成功(20003)、结算失败(20004,20011)、驳回(20005)、打款失败(20009)、冻结中(20014)")
	private String settleStatus;
	/**结算状态码*/
	/*@Excel(name = "结算状态码", width = 15)*/
    @ApiModelProperty(value = "结算状态码")
	private Integer settleStatusCode;
	/**结算单号 如果还未结算，则没有单号*/
	/*@Excel(name = "结算单号 如果还未结算，则没有单号", width = 15)*/
    @ApiModelProperty(value = "结算单号 如果还未结算，则没有单号")
	private Long settleOrderId;
	/**结算单号的字符形式*/
	/*@Excel(name = "结算单号的字符形式", width = 15)*/
    @ApiModelProperty(value = "结算单号的字符形式")
	private String settleOrderIdStr;
	/**运费（单位：元）*/
	@Excel(name = "运费（元）", width = 15)
    @ApiModelProperty(value = "运费（单位：元）")
	private BigDecimal freightBill;
	/**餐盒费（单位：元）*/
	/*@Excel(name = "餐盒费（单位：元）", width = 15)*/
    @ApiModelProperty(value = "餐盒费（单位：元）")
	private BigDecimal packageBill;
	/**总佣金（单位：元）*/
	@Excel(name = "总佣金（元）", width = 15)
    @ApiModelProperty(value = "总佣金（单位：元）")
	private BigDecimal commission;
	/**订单类型 异常调整/正向订单/售后退货/售后退款/售后退货申述/售后退款申述/售后换新申述/售后换新/售后直赔*/
	/*@Excel(name = "订单类型 异常调整/正向订单/售后退货/售后退款/售后退货申述/售后退款申述/售后换新申述/售后换新/售后直赔", width = 15)*/
    @ApiModelProperty(value = "订单类型 异常调整/正向订单/售后退货/售后退款/售后退货申述/售后退款申述/售后换新申述/售后换新/售后直赔")
	private String orderType;
	/**异常调整=1;正向订单 = 1001;售后退货 = 1002;售后退款 = 1003;售后退货申述 = 1004;售后退款申述 = 1005;售后换新申述 = 1006;售后换新 = 1016;售后直赔 = 1017;*/
	/*@Excel(name = "异常调整=1;正向订单 = 1001;售后退货 = 1002;售后退款 = 1003;售后退货申述 = 1004;售后退款申述 = 1005;售后换新申述 = 1006;售后换新 = 1016;售后直赔 = 1017;", width = 15)*/
    @ApiModelProperty(value = "异常调整=1;正向订单 = 1001;售后退货 = 1002;售后退款 = 1003;售后退货申述 = 1004;售后退款申述 = 1005;售后换新申述 = 1006;售后换新 = 1016;售后直赔 = 1017;")
	private Integer orderTypeCode;
	/**商家承担补贴（单位：元）*/
	@Excel(name = "商家承担补贴（元）", width = 20)
    @ApiModelProperty(value = "商家承担补贴（单位：元）")
	private BigDecimal storeSubsidy;
	/**总补贴（单位：元）*/
	@Excel(name = "总补贴（元）", width = 15)
    @ApiModelProperty(value = "总补贴（单位：元）")
	private BigDecimal subsidy;
	/**创建时间*/
	/*@Excel(name = "创建时间", width = 15)*/
    @ApiModelProperty(value = "创建时间")
	private String createTime;
	/**京东承担补贴（单位：元）*/
	@Excel(name = "京东承担补贴（元）", width = 20)
    @ApiModelProperty(value = "京东承担补贴（单位：元）")
	private BigDecimal marketBill;
	/**礼品卡费用*/
	/*@Excel(name = "礼品卡费用", width = 15)*/
    @ApiModelProperty(value = "礼品卡费用")
	private Long giftcardBill;
	/**营销服务费用*/
	/*@Excel(name = "营销服务费用", width = 15)*/
    @ApiModelProperty(value = "营销服务费用")
	private Long marketingServiceFee;
	/**营销服务费用状态*/
	/*@Excel(name = "营销服务费用状态", width = 15)*/
    @ApiModelProperty(value = "营销服务费用状态")
	private Integer marketingServiceFeeStatus;
	/**订单原价（单位：元）*/
	@Excel(name = "订单原价（元）", width = 15)
    @ApiModelProperty(value = "订单原价（单位：元）")
	private BigDecimal originalAmount;
	/**商家承担货款补贴（单位：元）*/
	@Excel(name = "商家承担货款补贴（元）", width = 25)
    @ApiModelProperty(value = "商家承担货款补贴（单位：元）")
	private BigDecimal paymentSubsidies;
	/**商家承担运费补贴（单位：元）*/
	@Excel(name = "商家承担运费补贴（元）", width = 25)
    @ApiModelProperty(value = "商家承担运费补贴（单位：元）")
	private BigDecimal storeFreightSubsidy;
	/**商家自送配送费（单位：元）*/
	@Excel(name = "商家自送配送费（元）", width = 20)
    @ApiModelProperty(value = "商家自送配送费（单位：元）")
	private BigDecimal storeFreightAmount;
	/**取件服务费(开票)(正向单展示远距离运费;售后单则展示达达售后运费)（单位：元）*/
	/*@Excel(name = "取件服务费(开票)(正向单展示远距离运费;售后单则展示达达售后运费)（单位：元）", width = 15)*/
    @ApiModelProperty(value = "取件服务费(开票)(正向单展示远距离运费;售后单则展示达达售后运费)（单位：元）")
	private BigDecimal pickupAmount;
	/**商家承担小费（单位：元）*/
	/*@Excel(name = "商家承担小费（单位：元）", width = 15)*/
    @ApiModelProperty(value = "商家承担小费（单位：元）")
	private BigDecimal pickupServiceAmount;
	/**账期时间 （如 20181006 00:00~20181007 00:00）*/
	@Excel(name = "账期时间", width = 15)
    @ApiModelProperty(value = "账期时间 （如 20181006 00:00~20181007 00:00）")
	private String accountTime;
	/**结算完成时间 (时间戳 单位为秒)*/
	/*@Excel(name = "结算完成时间 (时间戳 单位为秒)", width = 15)*/
    @ApiModelProperty(value = "结算完成时间 (时间戳 单位为秒)")
	private Long settleFinishTime;
	/**配送方式(商家自送,达达配送等)*/
	@Excel(name = "配送方式", width = 15)
    @ApiModelProperty(value = "配送方式(商家自送,达达配送等)")
	private String deliveryTypeStr;
	/**收付款单号*/
	/*@Excel(name = "收付款单号", width = 15)*/
    @ApiModelProperty(value = "收付款单号")
	private String withdrawId;
	/**订单渠道(京东到家,到家h5,微信小程序等)*/
	@Excel(name = "订单渠道", width = 15)
    @ApiModelProperty(value = "订单渠道(京东到家,到家h5,微信小程序等)")
	private String orderSourceName;
	/**用户支付方式(货到付款,ApplePay,支付宝支付等)*/
	/*@Excel(name = "用户支付方式(货到付款,ApplePay,支付宝支付等)", width = 15)*/
    @ApiModelProperty(value = "用户支付方式(货到付款,ApplePay,支付宝支付等)")
	private String payChannelName;
	/**线下收款应结（单位：元）*/
	/*@Excel(name = "线下收款应结（单位：元）", width = 15)*/
    @ApiModelProperty(value = "线下收款应结（单位：元）")
	private BigDecimal offlineSettlementAmount;
	/**对账单类型，5006 货款对账单 5008 市场费对账单*/
	@Excel(name = "对账单类型", width = 15,replace={"货款对账单_5006","市场费对账单_5008"})
    @ApiModelProperty(value = "对账单类型，5006 货款对账单 5008 市场费对账单")
	private Integer billOrderType;
	/**关联订单号 非正向单时才存在 如果此单为售后单，则关联单号为正向单。如果是售后申述单，则关联单号为售后单*/
	/*@Excel(name = "关联订单号 非正向单时才存在 如果此单为售后单，则关联单号为正向单。如果是售后申述单，则关联单号为售后单", width = 15)*/
    @ApiModelProperty(value = "关联订单号 非正向单时才存在 如果此单为售后单，则关联单号为正向单。如果是售后申述单，则关联单号为售后单")
	private Long relationId;
	/**数据库记录创建时间*/
	/*@Excel(name = "数据库记录创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "数据库记录创建时间")
	private Date insertTime;
}
